#include "ex3.h"
int i=-1;
void Intreg::adaugaElement(double nr)
{
        sir[++i]=nr;
}
bool Intreg::apartine(int k)
{
        if(k<=i && k>=0)
              return true;
        return false;
}
std::ostream& operator<<(std::ostream& out,Intreg& right)
{
        for(int it=0;it<=i;it++)
                out<<right.sir[it]<<"\n";

}
void Intreg::sortare(int k)
{
       if(apartine(k))
        {
          sortareDescr(k);
          sortareCresc(k);
        }
       else
          sortareDescr();
}
void Intreg::sortareDescr(int n)
{
  int i,j;
  double aux; 
  for (i=1;i<n;i++)
    { 
      j=i; 
      while(j>0 && (*this).sir[j-1]<(*this).sir[j])
        {
          aux=sir[j]; 
          (*this).sir[j]=(*this).sir[j-1]; 
          (*this).sir[j-1]=aux; 
          j--; 
        } 
     } 
}
void Intreg::sortareCresc(int n)
{
  int k,j;
  double aux; 
  for (k=n+1;k<=i;k++)
    { 
      j=k; 
      while(j>0&&(*this).sir[j-1]>(*this).sir[j])
        {
          aux=sir[j]; 
          (*this).sir[j]=(*this).sir[j-1]; 
          (*this).sir[j-1]=aux; 
          j--; 
        } 
     } 
}
void Intreg::sortareDescr()
{
  int k,j;
  double aux; 
  for (k=1;k<=i;k++)
    { 
      j=k; 
      while(j>0 && (*this).sir[j-1]<(*this).sir[j])
        {
          aux=sir[j]; 
          (*this).sir[j]=(*this).sir[j-1]; 
          (*this).sir[j-1]=aux; 
          j--; 
        } 
     } 
}
